@keyframes slideUpAnimation {
  0% { top: 120%; }
  100% { top: 100%; }
}

@media only screen and (min-width: 1081px) {	
	#header #nav ul.menu li.menu-item-has-children .sub-menu li{
		width:100%;
		padding: 0;
	}
	#header #nav ul.menu li.menu-item-has-children .sub-menu li:last-child a{ border-bottom:0; }
	#header #nav ul.menu li.menu-item-has-children .sub-menu li a{
		height: auto;
		line-height: 1;
		font-size: 14px;
		width: 100%;
		padding-top: 10px;
		padding-bottom: 10px;
		min-height: 52px;
		display: flex;
		max-width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		flex-wrap: wrap;
		align-items: center;
		border-bottom: 1px solid #d5d5d5;
		padding-left: 24px;
		padding-right: 24px;
	}
	#header #nav ul.menu li.menu-item-has-children .sub-menu{
		position: absolute;
		background: #fff;
		border-radius: 10px;
		margin-top: -7px;
		-webkit-box-shadow: 0px 0px 20px 0 rgba(0, 0, 0, 0.1);
		-moz-box-shadow: 0px 0px 20px 0 rgba(0, 0, 0, 0.1);
		box-shadow: 0px 0px 20px 0 rgba(0, 0, 0, 0.1);
		width: 230px;
		left: 50%;
		transform: translateX(-50%);
		padding-top: 0;
		padding-bottom: 0;
		list-style: none;
		animation:animatebottom 0.4s;
		z-index:-1;
		opacity:0;
		top: 150%;
		height: 0;
		overflow: hidden;
	}
	#header #nav ul.menu li.menu-item-has-children:hover > a:after{ transform: rotate(-180deg); }
	#header #nav ul.menu li.menu-item-has-children:hover > .sub-menu{
		display:block;
		opacity:1;
		top:100%;
		-webkit-animation: slideUpAnimation 300ms;
		-moz-animation: slideUpAnimation 300ms;
		-o-animation: slideUpAnimation 300ms;
		-ms-animation: slideUpAnimation 300ms;
		height: auto;
	}
}


@media only screen and (max-width: 1480px){
.pad_xbig{ padding: 60px; }
.pad_big{ padding: 60px; }
.pad_med{ padding: 40px; }
.pad_small{ padding: 30px; }
.pad_xsmall{ padding: 30px; }
.pad_xxsmall{ padding: 15px; }
.grid .wrapper.pad_big{ padding: 40px; }
.grid .wrapper.pad_med{ padding: 20px; }
}

@media only screen and (max-width: 1280px){
.section.icon_list .icon img{ height: 80px; }
.section.icon_list .item h3{ font-size: 20px; line-height: 26px; }

.section.products .product .image{ height: 180px; }
}

@media only screen and (max-width: 1080px){
.pad_xbig{ padding: 80px 60px; }
.pad_big{ padding: 60px; }
.pad_med{ padding: 40px; }
.pad_small{ padding: 30px; }
.pad_xsmall{ padding: 30px; }
.pad_top{ padding-top: 30px; }
.pad_top_med{ padding-top: 40px; }
.pad_btm_med{ padding-bottom: 40px; }
.pad_top_big{ padding-top: 60px !important; }
.pad_btm_big{ padding-bottom: 60px !important; }

#container{ height: auto; padding: 0; }

#header{ height: auto; float: left; position: relative; top: inherit; left: inherit; right: inherit; }

#header #logo{ width: 196px; height: 46px; float: left; padding: 27px 20px; text-indent: -9000px; position: relative; }
#header #logo a{ display: block; width: 196px; height: 46px; background: url(images/logo-alt.svg) no-repeat center; }

#header .toggle{ display: none; }
#nav_btn{ display: block; float: right; padding: 40px 30px; margin: 0; cursor: pointer; }
#nav_btn span, #nav_btn span:before, #nav_btn span:after{ 
width: 28px; 
height: 2px; 
float: left; 
display: block; 
background: #051a62; 
position: relative; 
text-indent: -9000px; 
-webkit-transition: all 100ms ease-in-out;
-moz-transition: all 100ms ease-in-out;
-ms-transition: all 100ms ease-in-out;
-o-transition: all 100ms ease-in-out;
transition: all 100ms ease-in-out;
}
#nav_btn span{ margin: 9px 0; }
#nav_btn span:before, #nav_btn span:after{ content: ''; position: absolute; }
#nav_btn span:before{ top: -8px; }
#nav_btn span:after{ bottom: -8px; }
#nav_btn.active span{ background-color: transparent; }
#nav_btn.active span:before, #nav_btn.active span:after{ top: 0; }
#nav_btn.active span:before{ transform: rotate(45deg); -webkit-transform: rotate(45deg); }
#nav_btn.active span:after{ transform: translateY(-10px) rotate(-45deg); -webkit-transform: translateY(-10px) rotate(-45deg); top: 10px; }

#header #nav{ width: 100%; float: left; clear: both; margin-left: 0; background: #fff; z-index: 0; }
#header #nav ul.menu{ width: 100%; padding: 0; }
#header #nav ul.menu li{ width: 100%; float: left; border-top: 1px solid #ddd; position:relative; }
#header #nav ul.menu li a{ padding: 0 20px; }

#header #nav .wrap{ width: 100%; height: auto; float: left; position: relative; top: inherit; right: inherit; left: inherit; }
#header #nav .wrap::after { display: none; }
#header #nav .wrap .inner{ width: 100%; float: left; padding: 20px; border-top: 1px solid #ddd; background-color: #f6f6f6; }
#header #nav .wrap .inner span.cta{ width: 100%; height: auto; float: left; line-height: 21px; text-align: center; margin: 0 0 15px; }
#header #nav .wrap .inner .cta_btn{ width: 100%; float: left; clear: both; } 
#header #nav .wrap .inner .cta_btn .btn{ width: 100%; height: 60px; line-height: 60px; }
#header #nav .wrap .inner .cta_btn .btn{ width: 100%; height: 60px; font-size: 18px; line-height: 60px; border-radius: 30px; -moz-border-radius: 30px; -webkit-border-radius: 30px; }

.section .header h2{ font-size: 40px; line-height: 46px; }

.section.hgt100{ height: calc(100vh - 200px); }

.section.hero.hgt-short{ height: 380px; }

.section.entry.with_img .image{ border: 0 !important; }

.section.entry.with_img .image{ width: 100%; height: auto !important; top: inherit !important; left: inherit; position: relative; background: #000 !important; }
.section.entry.with_img .image img{ display: block; }
.section.entry.with_img .main{ width: 100%; min-height: inherit; float: left; display: block; }
.section.entry.with_img .main .wrap{ width: 100%; float: left; display: block; }

.section.info_img .main{ display: block; }
.section.info_img .image{ width: 100%; float: left; }
.section.info_img .image img{ max-width: 200px; }
.section.info_img .wrap{ width: 100%; float: left; display: block; text-align: center; }

.section.icon_list .icon img{ height: 100px; }
.section.icon_list .item h3{ font-size: 24px; line-height: 30px; }

.section.content_list .item{ padding: 10px 0; }
.section.grid.cols3 .item{ width: 100%; }
.section.grid.cols4 .item{ width: 50%; }

.section.products .product .image{ height: 240px; }

#header #nav ul.menu li.menu-item-has-children.active >.sub-menu{ display:block; }
#header #nav ul.menu li.menu-item-has-children .sub-menu{ display:none; }
#header #nav ul.menu li.menu-item-has-children .sub-menu a{ font-size: 14px; line-height: 50px; height: 50px; font-weight: 400;}
#header #nav ul.menu li.menu-item-has-children.active > a:after{ transform: rotate(-180deg); }
}

@media only screen and (max-width: 980px){
#footer .section{ padding: 30px 0 15px; }
#footer ul.social{ width: 100%; float: left; text-align: center; padding: 0 0 30px; margin: 0 0 30px; border-bottom: 1px solid #ddd; }
#footer ul.social li{ float: none; display: inline-block; margin-left: 3px; margin-right: 3px; }
#footer .logo_footer{ float: none; display: block; clear: both; margin: 0 auto; }
#footer .sub_nav{ width: 100%; float: left; padding: 20px 0 0; }
#footer .sub_nav ul{ display: block; list-style: none; }
#footer .sub_nav ul li{ display: block; text-align: center; padding: 0 0 2px; }
#footer .sub_nav ul li a{ font-size: 14px; }
#footer .meta{ width: 100%; float: left; clear: both; text-align: center; padding-top: 10px; }
}

@media only screen and (max-width: 880px){
.section.icon_list .icon img{ height: 80px; }
.section.icon_list .item h3{ font-size: 20px; line-height: 26px; }

.wpcf7-form fieldset.x3 div.form_field{ width: 100%; padding: 0; }
.wpcf7-form fieldset.x2 div.form_field{ width: 100%; padding: 0; }
}

@media only screen and (max-width: 680px){
.pad_xbig{ padding: 40px; }
.pad_big{ padding: 35px; }
.pad_med{ padding: 35px; }
.pad_small{ padding: 25px; }
.pad_xsmall{ padding: 20px; }
.pad_top{ padding-top: 30px; }

.section .header h1{ font-size: 50px; line-height: 54px; }
.section .header h3.big{ font-size: 24px; line-height: 30px; }

.section.hero.slideshow .header{ padding: 40px; }

.testimonials .wrapper{ padding-top: 120px; }
.testimonials .testimonial{ font-size: 18px; line-height: 26px; padding: 0 6px; }
.testimonials .testimonial p{ line-height: 26px; }

.section.grid .item{ padding: 25px; }
.section.content_list .item{ padding: 10px 0; }

.section.warranty .image{ width: 25%; }
.section.warranty .wrap{ width: 75%; }
	
.testimonials .wrapper::before{ top: 50px; }

.section.gallery .swiper-container-gallery{ height: 420px; }
.section.gallery .nav{ padding: 40px 20px 20px; }

.section.grid_products{ padding: 0 10px; }
.section.grid_products .item{ padding: 20px 10px 0; }
.section.products .product .image{ height: 180px; }
.section.products .product .btn{ display: block; }

#footer .sub_nav ul{ text-align: center; }
#footer .sub_nav ul li{ display: block; padding: 3px 0; }
#footer .nav ul{ text-align: center; }
#footer .nav ul li{ width: 100%; padding: 0 0 20px; }

.wpcf7-form div.submit input { width: 100%; }
}

@media only screen and (max-width: 480px){
.pad_xbig{ padding: 30px; }
.pad_big{ padding: 30px 25px 25px; }
.pad_med{ padding: 25px; }
.pad_small{ padding: 25px; }
.pad_xsmall{ padding: 15px; }
.pad_xxsmall{ padding: 15px; }
.grid .wrapper.pad_big{ padding: 30px 25px 25px; }
.grid .wrapper.pad_med{ padding: 20px; }
.pad_top_xbig{ padding-top: 80px !important; }

.marg20{ margin: 0 0 15px; }
.marg30{ margin: 0 0 20px; }
.marg40{ margin: 0 0 30px; }
.marg50{ margin: 0 0 40px; }
.marg60{ margin: 0 0 50px; }

.section .header h1{ font-size: 44px; line-height: 50px; }
.section .header h2{ font-size: 34px; line-height: 40px; }

.section.hero.hgt-short{ height: 320px; }

.section.hero.slideshow .header{ padding: 30px; }
	
.section.accordion .acc .header.acc_btn h4{ font-size: 18px; line-height: 24px; }

.section.warranty .main{ display: block; }
.section.warranty .image{ width: 100%; float: left; display: block; }
.section.warranty .image img{ max-width: 100px; }
.section.warranty .wrap{ width: 100%; float: left; display: block; text-align: center; }

.section.gallery .swiper-container-gallery{ height: 320px; }
.section.gallery .nav{ padding: 30px 20px 20px; }

.section.grid .item{ padding: 20px; }
.section.content_list .item{ padding: 10px 0; }
.section.grid.cols4 .item{ width: 100%; }

.section.grid_products{ padding: 0; }
.section.grid_products .item{ padding: 15px 15px 0; }
.section.products .product .image{ height: 200px; }
.section.products .product .header{ padding: 25px !important; }

.content-block h1{ font-size: 28px; line-height: 34px; }
.content-block h2{ font-size: 24px; line-height: 30px; }
.content-block h3{ font-size: 20px; line-height: 28px; }
.content-block h4{ font-size: 18px; line-height: 26px; }
.content-block h5{ font-size: 18px; line-height: 26px; }
}